﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace AgileShare.Framework.Library.Helpers
{
	internal class CommonHelper
	{
		internal static string ReplaceXmlAttributeValue(string xml, string attributeName, string value)
		{
			if (string.IsNullOrEmpty(xml))
			{
				throw new ArgumentNullException("xml");
			}

			if (string.IsNullOrEmpty(value))
			{
				throw new ArgumentNullException("value");
			}


			int indexOfAttributeName = xml.IndexOf(attributeName, StringComparison.CurrentCultureIgnoreCase);
			if (indexOfAttributeName == -1)
			{
				throw new ArgumentOutOfRangeException("attributeName", string.Format("Attribute {0} not found in source xml", attributeName));
			}

			int indexOfAttibuteValueBegin = xml.IndexOf('"', indexOfAttributeName);
			int indexOfAttributeValueEnd = xml.IndexOf('"', indexOfAttibuteValueBegin + 1);

			return xml.Substring(0, indexOfAttibuteValueBegin + 1) + value + xml.Substring(indexOfAttributeValueEnd);
		}
	}
}
